package com.pi.base.entity.auto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DevRelationExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DevRelationExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRelationIdIsNull() {
            addCriterion("relation_id is null");
            return (Criteria) this;
        }

        public Criteria andRelationIdIsNotNull() {
            addCriterion("relation_id is not null");
            return (Criteria) this;
        }

        public Criteria andRelationIdEqualTo(Long value) {
            addCriterion("relation_id =", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdNotEqualTo(Long value) {
            addCriterion("relation_id <>", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdGreaterThan(Long value) {
            addCriterion("relation_id >", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdGreaterThanOrEqualTo(Long value) {
            addCriterion("relation_id >=", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdLessThan(Long value) {
            addCriterion("relation_id <", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdLessThanOrEqualTo(Long value) {
            addCriterion("relation_id <=", value, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdIn(List<Long> values) {
            addCriterion("relation_id in", values, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdNotIn(List<Long> values) {
            addCriterion("relation_id not in", values, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdBetween(Long value1, Long value2) {
            addCriterion("relation_id between", value1, value2, "relationId");
            return (Criteria) this;
        }

        public Criteria andRelationIdNotBetween(Long value1, Long value2) {
            addCriterion("relation_id not between", value1, value2, "relationId");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNull() {
            addCriterion("seller_id is null");
            return (Criteria) this;
        }

        public Criteria andSellerIdIsNotNull() {
            addCriterion("seller_id is not null");
            return (Criteria) this;
        }

        public Criteria andSellerIdEqualTo(Long value) {
            addCriterion("seller_id =", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotEqualTo(Long value) {
            addCriterion("seller_id <>", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThan(Long value) {
            addCriterion("seller_id >", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdGreaterThanOrEqualTo(Long value) {
            addCriterion("seller_id >=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThan(Long value) {
            addCriterion("seller_id <", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdLessThanOrEqualTo(Long value) {
            addCriterion("seller_id <=", value, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdIn(List<Long> values) {
            addCriterion("seller_id in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotIn(List<Long> values) {
            addCriterion("seller_id not in", values, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdBetween(Long value1, Long value2) {
            addCriterion("seller_id between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andSellerIdNotBetween(Long value1, Long value2) {
            addCriterion("seller_id not between", value1, value2, "sellerId");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion("parent_id is null");
            return (Criteria) this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion("parent_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentIdEqualTo(Long value) {
            addCriterion("parent_id =", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotEqualTo(Long value) {
            addCriterion("parent_id <>", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThan(Long value) {
            addCriterion("parent_id >", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(Long value) {
            addCriterion("parent_id >=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThan(Long value) {
            addCriterion("parent_id <", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdLessThanOrEqualTo(Long value) {
            addCriterion("parent_id <=", value, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdIn(List<Long> values) {
            addCriterion("parent_id in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotIn(List<Long> values) {
            addCriterion("parent_id not in", values, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdBetween(Long value1, Long value2) {
            addCriterion("parent_id between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andParentIdNotBetween(Long value1, Long value2) {
            addCriterion("parent_id not between", value1, value2, "parentId");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andDevIdIsNull() {
            addCriterion("dev_id is null");
            return (Criteria) this;
        }

        public Criteria andDevIdIsNotNull() {
            addCriterion("dev_id is not null");
            return (Criteria) this;
        }

        public Criteria andDevIdEqualTo(Long value) {
            addCriterion("dev_id =", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotEqualTo(Long value) {
            addCriterion("dev_id <>", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdGreaterThan(Long value) {
            addCriterion("dev_id >", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dev_id >=", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdLessThan(Long value) {
            addCriterion("dev_id <", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdLessThanOrEqualTo(Long value) {
            addCriterion("dev_id <=", value, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdIn(List<Long> values) {
            addCriterion("dev_id in", values, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotIn(List<Long> values) {
            addCriterion("dev_id not in", values, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdBetween(Long value1, Long value2) {
            addCriterion("dev_id between", value1, value2, "devId");
            return (Criteria) this;
        }

        public Criteria andDevIdNotBetween(Long value1, Long value2) {
            addCriterion("dev_id not between", value1, value2, "devId");
            return (Criteria) this;
        }

        public Criteria andRentTypeIsNull() {
            addCriterion("rent_type is null");
            return (Criteria) this;
        }

        public Criteria andRentTypeIsNotNull() {
            addCriterion("rent_type is not null");
            return (Criteria) this;
        }

        public Criteria andRentTypeEqualTo(String value) {
            addCriterion("rent_type =", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotEqualTo(String value) {
            addCriterion("rent_type <>", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeGreaterThan(String value) {
            addCriterion("rent_type >", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeGreaterThanOrEqualTo(String value) {
            addCriterion("rent_type >=", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeLessThan(String value) {
            addCriterion("rent_type <", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeLessThanOrEqualTo(String value) {
            addCriterion("rent_type <=", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeLike(String value) {
            addCriterion("rent_type like", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotLike(String value) {
            addCriterion("rent_type not like", value, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeIn(List<String> values) {
            addCriterion("rent_type in", values, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotIn(List<String> values) {
            addCriterion("rent_type not in", values, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeBetween(String value1, String value2) {
            addCriterion("rent_type between", value1, value2, "rentType");
            return (Criteria) this;
        }

        public Criteria andRentTypeNotBetween(String value1, String value2) {
            addCriterion("rent_type not between", value1, value2, "rentType");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andRelationStateIsNull() {
            addCriterion("relation_state is null");
            return (Criteria) this;
        }

        public Criteria andRelationStateIsNotNull() {
            addCriterion("relation_state is not null");
            return (Criteria) this;
        }

        public Criteria andRelationStateEqualTo(Integer value) {
            addCriterion("relation_state =", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateNotEqualTo(Integer value) {
            addCriterion("relation_state <>", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateGreaterThan(Integer value) {
            addCriterion("relation_state >", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("relation_state >=", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateLessThan(Integer value) {
            addCriterion("relation_state <", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateLessThanOrEqualTo(Integer value) {
            addCriterion("relation_state <=", value, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateIn(List<Integer> values) {
            addCriterion("relation_state in", values, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateNotIn(List<Integer> values) {
            addCriterion("relation_state not in", values, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateBetween(Integer value1, Integer value2) {
            addCriterion("relation_state between", value1, value2, "relationState");
            return (Criteria) this;
        }

        public Criteria andRelationStateNotBetween(Integer value1, Integer value2) {
            addCriterion("relation_state not between", value1, value2, "relationState");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageIsNull() {
            addCriterion("seller_arrearage is null");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageIsNotNull() {
            addCriterion("seller_arrearage is not null");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageEqualTo(Double value) {
            addCriterion("seller_arrearage =", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageNotEqualTo(Double value) {
            addCriterion("seller_arrearage <>", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageGreaterThan(Double value) {
            addCriterion("seller_arrearage >", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageGreaterThanOrEqualTo(Double value) {
            addCriterion("seller_arrearage >=", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageLessThan(Double value) {
            addCriterion("seller_arrearage <", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageLessThanOrEqualTo(Double value) {
            addCriterion("seller_arrearage <=", value, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageIn(List<Double> values) {
            addCriterion("seller_arrearage in", values, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageNotIn(List<Double> values) {
            addCriterion("seller_arrearage not in", values, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageBetween(Double value1, Double value2) {
            addCriterion("seller_arrearage between", value1, value2, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andSellerArrearageNotBetween(Double value1, Double value2) {
            addCriterion("seller_arrearage not between", value1, value2, "sellerArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageIsNull() {
            addCriterion("pay_arrearage is null");
            return (Criteria) this;
        }

        public Criteria andPayArrearageIsNotNull() {
            addCriterion("pay_arrearage is not null");
            return (Criteria) this;
        }

        public Criteria andPayArrearageEqualTo(Double value) {
            addCriterion("pay_arrearage =", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageNotEqualTo(Double value) {
            addCriterion("pay_arrearage <>", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageGreaterThan(Double value) {
            addCriterion("pay_arrearage >", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageGreaterThanOrEqualTo(Double value) {
            addCriterion("pay_arrearage >=", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageLessThan(Double value) {
            addCriterion("pay_arrearage <", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageLessThanOrEqualTo(Double value) {
            addCriterion("pay_arrearage <=", value, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageIn(List<Double> values) {
            addCriterion("pay_arrearage in", values, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageNotIn(List<Double> values) {
            addCriterion("pay_arrearage not in", values, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageBetween(Double value1, Double value2) {
            addCriterion("pay_arrearage between", value1, value2, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andPayArrearageNotBetween(Double value1, Double value2) {
            addCriterion("pay_arrearage not between", value1, value2, "payArrearage");
            return (Criteria) this;
        }

        public Criteria andBillDateIsNull() {
            addCriterion("bill_date is null");
            return (Criteria) this;
        }

        public Criteria andBillDateIsNotNull() {
            addCriterion("bill_date is not null");
            return (Criteria) this;
        }

        public Criteria andBillDateEqualTo(Date value) {
            addCriterion("bill_date =", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateNotEqualTo(Date value) {
            addCriterion("bill_date <>", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateGreaterThan(Date value) {
            addCriterion("bill_date >", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateGreaterThanOrEqualTo(Date value) {
            addCriterion("bill_date >=", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateLessThan(Date value) {
            addCriterion("bill_date <", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateLessThanOrEqualTo(Date value) {
            addCriterion("bill_date <=", value, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateIn(List<Date> values) {
            addCriterion("bill_date in", values, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateNotIn(List<Date> values) {
            addCriterion("bill_date not in", values, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateBetween(Date value1, Date value2) {
            addCriterion("bill_date between", value1, value2, "billDate");
            return (Criteria) this;
        }

        public Criteria andBillDateNotBetween(Date value1, Date value2) {
            addCriterion("bill_date not between", value1, value2, "billDate");
            return (Criteria) this;
        }

        public Criteria andTime1priceIsNull() {
            addCriterion("time1Price is null");
            return (Criteria) this;
        }

        public Criteria andTime1priceIsNotNull() {
            addCriterion("time1Price is not null");
            return (Criteria) this;
        }

        public Criteria andTime1priceEqualTo(BigDecimal value) {
            addCriterion("time1Price =", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceNotEqualTo(BigDecimal value) {
            addCriterion("time1Price <>", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceGreaterThan(BigDecimal value) {
            addCriterion("time1Price >", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("time1Price >=", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceLessThan(BigDecimal value) {
            addCriterion("time1Price <", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("time1Price <=", value, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceIn(List<BigDecimal> values) {
            addCriterion("time1Price in", values, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceNotIn(List<BigDecimal> values) {
            addCriterion("time1Price not in", values, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time1Price between", value1, value2, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time1Price not between", value1, value2, "time1price");
            return (Criteria) this;
        }

        public Criteria andTime1startdateIsNull() {
            addCriterion("time1StartDate is null");
            return (Criteria) this;
        }

        public Criteria andTime1startdateIsNotNull() {
            addCriterion("time1StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime1startdateEqualTo(String value) {
            addCriterion("time1StartDate =", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateNotEqualTo(String value) {
            addCriterion("time1StartDate <>", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateGreaterThan(String value) {
            addCriterion("time1StartDate >", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateGreaterThanOrEqualTo(String value) {
            addCriterion("time1StartDate >=", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateLessThan(String value) {
            addCriterion("time1StartDate <", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateLessThanOrEqualTo(String value) {
            addCriterion("time1StartDate <=", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateLike(String value) {
            addCriterion("time1StartDate like", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateNotLike(String value) {
            addCriterion("time1StartDate not like", value, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateIn(List<String> values) {
            addCriterion("time1StartDate in", values, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateNotIn(List<String> values) {
            addCriterion("time1StartDate not in", values, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateBetween(String value1, String value2) {
            addCriterion("time1StartDate between", value1, value2, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1startdateNotBetween(String value1, String value2) {
            addCriterion("time1StartDate not between", value1, value2, "time1startdate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateIsNull() {
            addCriterion("time1EndDate is null");
            return (Criteria) this;
        }

        public Criteria andTime1enddateIsNotNull() {
            addCriterion("time1EndDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime1enddateEqualTo(String value) {
            addCriterion("time1EndDate =", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateNotEqualTo(String value) {
            addCriterion("time1EndDate <>", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateGreaterThan(String value) {
            addCriterion("time1EndDate >", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateGreaterThanOrEqualTo(String value) {
            addCriterion("time1EndDate >=", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateLessThan(String value) {
            addCriterion("time1EndDate <", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateLessThanOrEqualTo(String value) {
            addCriterion("time1EndDate <=", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateLike(String value) {
            addCriterion("time1EndDate like", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateNotLike(String value) {
            addCriterion("time1EndDate not like", value, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateIn(List<String> values) {
            addCriterion("time1EndDate in", values, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateNotIn(List<String> values) {
            addCriterion("time1EndDate not in", values, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateBetween(String value1, String value2) {
            addCriterion("time1EndDate between", value1, value2, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime1enddateNotBetween(String value1, String value2) {
            addCriterion("time1EndDate not between", value1, value2, "time1enddate");
            return (Criteria) this;
        }

        public Criteria andTime2priceIsNull() {
            addCriterion("time2Price is null");
            return (Criteria) this;
        }

        public Criteria andTime2priceIsNotNull() {
            addCriterion("time2Price is not null");
            return (Criteria) this;
        }

        public Criteria andTime2priceEqualTo(BigDecimal value) {
            addCriterion("time2Price =", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceNotEqualTo(BigDecimal value) {
            addCriterion("time2Price <>", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceGreaterThan(BigDecimal value) {
            addCriterion("time2Price >", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("time2Price >=", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceLessThan(BigDecimal value) {
            addCriterion("time2Price <", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("time2Price <=", value, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceIn(List<BigDecimal> values) {
            addCriterion("time2Price in", values, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceNotIn(List<BigDecimal> values) {
            addCriterion("time2Price not in", values, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time2Price between", value1, value2, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time2Price not between", value1, value2, "time2price");
            return (Criteria) this;
        }

        public Criteria andTime2startdateIsNull() {
            addCriterion("time2StartDate is null");
            return (Criteria) this;
        }

        public Criteria andTime2startdateIsNotNull() {
            addCriterion("time2StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime2startdateEqualTo(String value) {
            addCriterion("time2StartDate =", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateNotEqualTo(String value) {
            addCriterion("time2StartDate <>", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateGreaterThan(String value) {
            addCriterion("time2StartDate >", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateGreaterThanOrEqualTo(String value) {
            addCriterion("time2StartDate >=", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateLessThan(String value) {
            addCriterion("time2StartDate <", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateLessThanOrEqualTo(String value) {
            addCriterion("time2StartDate <=", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateLike(String value) {
            addCriterion("time2StartDate like", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateNotLike(String value) {
            addCriterion("time2StartDate not like", value, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateIn(List<String> values) {
            addCriterion("time2StartDate in", values, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateNotIn(List<String> values) {
            addCriterion("time2StartDate not in", values, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateBetween(String value1, String value2) {
            addCriterion("time2StartDate between", value1, value2, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2startdateNotBetween(String value1, String value2) {
            addCriterion("time2StartDate not between", value1, value2, "time2startdate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateIsNull() {
            addCriterion("time2EndDate is null");
            return (Criteria) this;
        }

        public Criteria andTime2enddateIsNotNull() {
            addCriterion("time2EndDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime2enddateEqualTo(String value) {
            addCriterion("time2EndDate =", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateNotEqualTo(String value) {
            addCriterion("time2EndDate <>", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateGreaterThan(String value) {
            addCriterion("time2EndDate >", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateGreaterThanOrEqualTo(String value) {
            addCriterion("time2EndDate >=", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateLessThan(String value) {
            addCriterion("time2EndDate <", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateLessThanOrEqualTo(String value) {
            addCriterion("time2EndDate <=", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateLike(String value) {
            addCriterion("time2EndDate like", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateNotLike(String value) {
            addCriterion("time2EndDate not like", value, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateIn(List<String> values) {
            addCriterion("time2EndDate in", values, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateNotIn(List<String> values) {
            addCriterion("time2EndDate not in", values, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateBetween(String value1, String value2) {
            addCriterion("time2EndDate between", value1, value2, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime2enddateNotBetween(String value1, String value2) {
            addCriterion("time2EndDate not between", value1, value2, "time2enddate");
            return (Criteria) this;
        }

        public Criteria andTime3priceIsNull() {
            addCriterion("time3Price is null");
            return (Criteria) this;
        }

        public Criteria andTime3priceIsNotNull() {
            addCriterion("time3Price is not null");
            return (Criteria) this;
        }

        public Criteria andTime3priceEqualTo(BigDecimal value) {
            addCriterion("time3Price =", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceNotEqualTo(BigDecimal value) {
            addCriterion("time3Price <>", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceGreaterThan(BigDecimal value) {
            addCriterion("time3Price >", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("time3Price >=", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceLessThan(BigDecimal value) {
            addCriterion("time3Price <", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("time3Price <=", value, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceIn(List<BigDecimal> values) {
            addCriterion("time3Price in", values, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceNotIn(List<BigDecimal> values) {
            addCriterion("time3Price not in", values, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time3Price between", value1, value2, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time3Price not between", value1, value2, "time3price");
            return (Criteria) this;
        }

        public Criteria andTime3startdateIsNull() {
            addCriterion("time3StartDate is null");
            return (Criteria) this;
        }

        public Criteria andTime3startdateIsNotNull() {
            addCriterion("time3StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime3startdateEqualTo(String value) {
            addCriterion("time3StartDate =", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateNotEqualTo(String value) {
            addCriterion("time3StartDate <>", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateGreaterThan(String value) {
            addCriterion("time3StartDate >", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateGreaterThanOrEqualTo(String value) {
            addCriterion("time3StartDate >=", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateLessThan(String value) {
            addCriterion("time3StartDate <", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateLessThanOrEqualTo(String value) {
            addCriterion("time3StartDate <=", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateLike(String value) {
            addCriterion("time3StartDate like", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateNotLike(String value) {
            addCriterion("time3StartDate not like", value, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateIn(List<String> values) {
            addCriterion("time3StartDate in", values, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateNotIn(List<String> values) {
            addCriterion("time3StartDate not in", values, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateBetween(String value1, String value2) {
            addCriterion("time3StartDate between", value1, value2, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3startdateNotBetween(String value1, String value2) {
            addCriterion("time3StartDate not between", value1, value2, "time3startdate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateIsNull() {
            addCriterion("time3EndDate is null");
            return (Criteria) this;
        }

        public Criteria andTime3enddateIsNotNull() {
            addCriterion("time3EndDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime3enddateEqualTo(String value) {
            addCriterion("time3EndDate =", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateNotEqualTo(String value) {
            addCriterion("time3EndDate <>", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateGreaterThan(String value) {
            addCriterion("time3EndDate >", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateGreaterThanOrEqualTo(String value) {
            addCriterion("time3EndDate >=", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateLessThan(String value) {
            addCriterion("time3EndDate <", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateLessThanOrEqualTo(String value) {
            addCriterion("time3EndDate <=", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateLike(String value) {
            addCriterion("time3EndDate like", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateNotLike(String value) {
            addCriterion("time3EndDate not like", value, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateIn(List<String> values) {
            addCriterion("time3EndDate in", values, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateNotIn(List<String> values) {
            addCriterion("time3EndDate not in", values, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateBetween(String value1, String value2) {
            addCriterion("time3EndDate between", value1, value2, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime3enddateNotBetween(String value1, String value2) {
            addCriterion("time3EndDate not between", value1, value2, "time3enddate");
            return (Criteria) this;
        }

        public Criteria andTime4priceIsNull() {
            addCriterion("time4Price is null");
            return (Criteria) this;
        }

        public Criteria andTime4priceIsNotNull() {
            addCriterion("time4Price is not null");
            return (Criteria) this;
        }

        public Criteria andTime4priceEqualTo(BigDecimal value) {
            addCriterion("time4Price =", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceNotEqualTo(BigDecimal value) {
            addCriterion("time4Price <>", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceGreaterThan(BigDecimal value) {
            addCriterion("time4Price >", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("time4Price >=", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceLessThan(BigDecimal value) {
            addCriterion("time4Price <", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("time4Price <=", value, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceIn(List<BigDecimal> values) {
            addCriterion("time4Price in", values, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceNotIn(List<BigDecimal> values) {
            addCriterion("time4Price not in", values, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time4Price between", value1, value2, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4priceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("time4Price not between", value1, value2, "time4price");
            return (Criteria) this;
        }

        public Criteria andTime4startdateIsNull() {
            addCriterion("time4StartDate is null");
            return (Criteria) this;
        }

        public Criteria andTime4startdateIsNotNull() {
            addCriterion("time4StartDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime4startdateEqualTo(String value) {
            addCriterion("time4StartDate =", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateNotEqualTo(String value) {
            addCriterion("time4StartDate <>", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateGreaterThan(String value) {
            addCriterion("time4StartDate >", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateGreaterThanOrEqualTo(String value) {
            addCriterion("time4StartDate >=", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateLessThan(String value) {
            addCriterion("time4StartDate <", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateLessThanOrEqualTo(String value) {
            addCriterion("time4StartDate <=", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateLike(String value) {
            addCriterion("time4StartDate like", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateNotLike(String value) {
            addCriterion("time4StartDate not like", value, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateIn(List<String> values) {
            addCriterion("time4StartDate in", values, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateNotIn(List<String> values) {
            addCriterion("time4StartDate not in", values, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateBetween(String value1, String value2) {
            addCriterion("time4StartDate between", value1, value2, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4startdateNotBetween(String value1, String value2) {
            addCriterion("time4StartDate not between", value1, value2, "time4startdate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateIsNull() {
            addCriterion("time4EndDate is null");
            return (Criteria) this;
        }

        public Criteria andTime4enddateIsNotNull() {
            addCriterion("time4EndDate is not null");
            return (Criteria) this;
        }

        public Criteria andTime4enddateEqualTo(String value) {
            addCriterion("time4EndDate =", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateNotEqualTo(String value) {
            addCriterion("time4EndDate <>", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateGreaterThan(String value) {
            addCriterion("time4EndDate >", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateGreaterThanOrEqualTo(String value) {
            addCriterion("time4EndDate >=", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateLessThan(String value) {
            addCriterion("time4EndDate <", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateLessThanOrEqualTo(String value) {
            addCriterion("time4EndDate <=", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateLike(String value) {
            addCriterion("time4EndDate like", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateNotLike(String value) {
            addCriterion("time4EndDate not like", value, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateIn(List<String> values) {
            addCriterion("time4EndDate in", values, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateNotIn(List<String> values) {
            addCriterion("time4EndDate not in", values, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateBetween(String value1, String value2) {
            addCriterion("time4EndDate between", value1, value2, "time4enddate");
            return (Criteria) this;
        }

        public Criteria andTime4enddateNotBetween(String value1, String value2) {
            addCriterion("time4EndDate not between", value1, value2, "time4enddate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}